/**
 * 箭头函数不会创建自己的this，
 * 所以它没有自己的this，它只会从自己的作用域链的上一层继承this。
 * 4、.call()/.apply()/.bind()无法改变箭头函数中this的指向
 * 3、箭头函数继承而来的this指向永远不变（重要！！深入理解！！）\
 * 箭头函数没有原型prototype
 * 8、箭头函数不能用作Generator函数，不能使用yeild关键字
 */
var id = 'Global';

function fun1() {
    // setTimeout中使用普通函数
    setTimeout(function() {
        console.log(this.id);
    }, 2000);
}

function fun2() {
    // setTimeout中使用箭头函数
    setTimeout(() => {
        console.log(this.id);
    }, 2000)
}

fun1.call({ id: 'Obj' }); // 'Global'

fun2.call({ id: 'Obj' }); // 'Obj'